/*
 * @Author: SmallSuperMan
 * @代码创建日期: 2020-09-11 01:01:32
 * @最后更新时间: 2020-09-15 00:12:58
 * @最后更新作者: SmallSuperMan
 * @FilePath: \GoProjectDirectory\gormTest\main.go
 * @代码功能描述:
 */

package main

import (
	"fmt"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// PlayerInfo 运动员信息
type PlayerInfo struct {
	Number       uint   // 号码
	Name         string // 姓名
	HighestScore int    // 最高分
	Area         string // 分区
	TeamName     string // 队名
}

func main() {
	db, err := gorm.Open("mysql", "User:PassWord@(188.131.177.155:3306)/dyp?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	// 自动迁移 在 mysql 上创建表名为 player_infos结构体单词拆分后加上s结尾
	//db.AutoMigrate(&PlayerInfo{})
	player1 := PlayerInfo{Number: 23, Name: "詹姆斯", HighestScore: 61, Area: "西区", TeamName: "湖人"}
	player2 := PlayerInfo{Number: 24, Name: "科比", HighestScore: 81, Area: "西区", TeamName: "湖人"}
	// 数据库插入记录
	//db.Create(&player2)

	// 主键为空返回`true`
	//fmt.Printf("检查主键是否存在,主键为空返回真->%t",db.NewRecord(player2))

	fmt.Printf("根据主键查询第一条记录->%v", db.First(&player1))
	fmt.Printf("随机获取一条记录->%v", db.Take(&player2))
}
